package com.ocom.company.controller;

import com.ocom.common.constant.CompanyServiceUrl;
import com.ocom.common.entity.master.EntityEcardRegCode;
import com.ocom.common.enums.ResultEnum;
import com.ocom.common.resp.Result;
import com.ocom.common.utils.ResultUtil;
import com.ocom.company.service.EcardRegCodeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
public class RegCodeController {


    @Autowired
    private EcardRegCodeService ecardRegCodeService;

    /**
     * 3.4.获取注册码信息（getRegCodeInfo）
     * */
    @GetMapping(CompanyServiceUrl.URL_GetRegCodeInfo)
    public Result GetRegCodeInfo(String regCode,Long comId){
        if (regCode == null || comId == null){
            return ResultUtil.error(ResultEnum.Err_203);
        }
        List<EntityEcardRegCode> regCodeInfos = ecardRegCodeService.getRegCodeInfo(regCode, comId);
        Map<String, Object> map = new HashMap<>();
        ArrayList<Object> list = new ArrayList<>();
        map.put("total",regCodeInfos.size());
        for (EntityEcardRegCode ecardRegCode: regCodeInfos) {
            Map<String, Object> datamap = new HashMap<>();
            datamap.put("comId",ecardRegCode.getComId());
            datamap.put("pId",ecardRegCode.getPId());
            datamap.put("endTime",ecardRegCode.getEndTime());
            list.add(datamap);
        }
        map.put("list",list);

        return ResultUtil.success(map);
    }

    /**
     * 3.4.获取注册码信息（getRegCodeInfo）
     * */
    @PostMapping(CompanyServiceUrl.URL_GetRegCodeInfoOne)
    public Result GetRegCodeInfo(String regCode){
        EntityEcardRegCode entityEcardRegCode = ecardRegCodeService.getRegCodeInfo(regCode);
        if(entityEcardRegCode==null)  return ResultUtil.error(ResultEnum.Err_3078);
        return ResultUtil.success(entityEcardRegCode);
    }
}
